home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX 6.2 Development Libraries
/
SGI IRIX 6.2 Development Libraries.iso
/
dist
/
complib.idb
/
usr
/
share
/
catman
/
p_man
/
cat3
/
complib
/
ddisna.z
/
ddisna
Wrap
Text File
|
1996-03-14
|
3KB
|
133 lines
DDDDDDDDIIIISSSSNNNNAAAA((((3333FFFF)))) DDDDDDDDIIIISSSSNNNNAAAA((((3333FFFF))))
NNNNAAAAMMMMEEEE
DDISNA - compute the reciprocal condition numbers for the eigenvectors of
a real symmetric or complex Hermitian matrix or for the left or right
singular vectors of a general m-by-n matrix
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
SUBROUTINE DDISNA( JOB, M, N, D, SEP, INFO )
CHARACTER JOB
INTEGER INFO, M, N
DOUBLE PRECISION D( * ), SEP( * )
PPPPUUUURRRRPPPPOOOOSSSSEEEE
DDISNA computes the reciprocal condition numbers for the eigenvectors of
a real symmetric or complex Hermitian matrix or for the left or right
singular vectors of a general m-by-n matrix. The reciprocal condition
number is the 'gap' between the corresponding eigenvalue or singular
value and the nearest other one.
The bound on the error, measured by angle in radians, in the I-th
computed vector is given by
DLAMCH( 'E' ) * ( ANORM / SEP( I ) )
where ANORM = 2-norm(A) = max( abs( D(j) ) ). SEP(I) is not allowed to
be smaller than DLAMCH( 'E' )*ANORM in order to limit the size of the
error bound.
DDISNA may also be used to compute error bounds for eigenvectors of the
generalized symmetric definite eigenproblem.
AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
JOB (input) CHARACTER*1
Specifies for which problem the reciprocal condition numbers
should be computed:
= 'E': the eigenvectors of a symmetric/Hermitian matrix;
= 'L': the left singular vectors of a general matrix;
= 'R': the right singular vectors of a general matrix.
M (input) INTEGER
The number of rows of the matrix. M >= 0.
N (input) INTEGER
If JOB = 'L' or 'R', the number of columns of the matrix, in
which case N >= 0. Ignored if JOB = 'E'.
D (input) DOUBLE PRECISION array, dimension (M) if JOB = 'E'
dimension (min(M,N)) if JOB = 'L' or 'R' The eigenvalues (if JOB
= 'E') or singular values (if JOB = order. If singular values,
PPPPaaaaggggeeee 1111
DDDDDDDDIIIISSSSNNNNAAAA((((3333FFFF)))) DDDDDDDDIIIISSSSNNNNAAAA((((3333FFFF))))
they must be non-negative.
SEP (output) DOUBLE PRECISION array, dimension (M) if JOB = 'E'
dimension (min(M,N)) if JOB = 'L' or 'R' The reciprocal condition
numbers of the vectors.
INFO (output) INTEGER
= 0: successful exit.
< 0: if INFO = -i, the i-th argument had an illegal value.
PPPPaaaaggggeeee 2222